package com.tbit.uqbike.client.service;

import com.tbit.uqbike.client.pojo.Recharge;

import java.util.List;

/**
 * 订单service
 *
 * @author Leon
 * 2017年2月24日 下午4:09:17
 */
public interface RechargeService {
    /**
     * 添加
     *
     * @param recharge
     */
    void insert(Recharge recharge);

    /**
     * 通过用户id以及状态获取
     *
     * @param userId
     * @param type
     * @param state
     * @return
     */
    List<Recharge> getByIdAndState(Integer userId, Integer type, Integer state);

    /**
     * 根据订单编号查询
     *
     * @param orderNO
     * @return
     */
    Recharge getByOrderNO(String orderNO);

    /**
     * 更新支付状态
     *
     * @param recharge
     */
    void update(Recharge recharge);

    /**
     * 查询未支付微信支付分订单
     *
     * @param userId
     * @return
     */
    Recharge getByWxzzfNotPay(Integer userId, Integer type);

    /**
     * 更新支付分订单
     *
     * @param recharge
     */
    void editWizffPay(Recharge recharge);

    /**
     * 根据用户id查询用户充值订单
     *
     * @param userId
     * @return
     */
    List<Recharge> getByUserIdAndType(Integer userId, String rechargeTime);

    /**
     * 根据用户id查询用户最近一条充值订单
     *
     * @param userId
     * @return
     */
    Recharge getUserNotPayOrder(Integer userId);

    /**
     * 修改订单充值类型
     *
     * @param recharge
     */
    void editType(Recharge recharge);

    /**
     * 获取信用免押支付数据
     *
     * @param rechargeType
     * @return
     */
    Recharge getExemptByType(Integer userId, Integer rechargeType);
}  